Skip to content

Add Bazel RBE integration guide (DI-574)#237

Open
celanthe wants to merge 8 commits into
mainfrom
add/bazel-rbe-integration-di574
Open

Add Bazel RBE integration guide (DI-574)#237
celanthe wants to merge 8 commits into
mainfrom
add/bazel-rbe-integration-di574

Conversation

@celanthe

@celanthe celanthe commented Jun 5, 2026

Copy link
Copy Markdown
Collaborator

Two new pages covering Bazel RBE with Orka-hosted macOS workers using open-source buildfarm.

bazel-rbe-quickstart.mdx walks through a working single-VM PoC: Redis, buildfarm server, and worker all on one Orka VM, with the Bazel client connecting over an SSH tunnel. Tested on my cluster: Cold build 3 remote, clean expunge + rebuild 3 remote cache hit.

bazel-rbe.mdx covers the production path: separate Linux server VM, Orka worker pool, GitHub Actions workflow for ephemeral workers, and BuildBuddy as an alternative control plane.

A few things in here worth your eyes specifically:

  • The start-worker.sh LaunchDaemon pattern and how publicName gets written on boot
  • Cross-node networking section assumes bridge mode (vm_network_mode: bridge in cluster.yml); NAT fallback is documented for clusters without it

BuildBuddy section needs Heath to review before this merges.

Closes DI-574

New customer-facing page covering Orka as the macOS worker layer in a
Bazel Remote Build Execution setup. Covers two paths: open-source
buildfarm (recommended) and BuildBuddy (for teams already using it).
Includes multi-worker deployment, GitHub Actions workflow automation,
LaunchDaemon auto-start pattern, and persistent cache setup.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@mintlify

mintlify Bot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
macstadiuminc 🟢 Ready View Preview Jun 5, 2026, 8:50 PM

- Expand bare-metal re-imaging explanation (DEP, Xcode, hours not seconds)
- Rename Image versioning to Pinned build environments with Xcode drift framing
- Add isolation bullet explaining cross-project contamination risk
- Tighten worker pool scaling bullet
- Source: competitive research from MPD-81

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@celanthe celanthe self-assigned this Jun 16, 2026
@celanthe celanthe added the documentation Improvements or additions to documentation label Jun 16, 2026
@celanthe celanthe requested a review from jasoncdavis0 June 16, 2026 20:10
Switch server and worker startup from `bazelisk run` (rebuilds from source
on every restart) to pre-built JARs run with `java -jar`, matching the
verified approach in the quickstart. Also replace config.minimal.yml
references with flat YAML configs — the !include-based examples format
does not work at runtime.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds the single-VM quickstart guide (bazel-rbe-quickstart.mdx) verified
end-to-end against a live Orka cluster. Also fixes the start-worker.sh
startup script template in bazel-rbe.mdx: the script was setting
publicName to `:8981` (no hostname), causing every findMissingBlobs call
to fail with "Invalid DNS name: :8981". Fixed to use MY_IP=127.0.0.1 and
rewrite publicName dynamically on each boot. LaunchDaemon plist updated
to match actual script path and add UserName/WorkingDirectory.

Closes DI-574

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@celanthe celanthe marked this pull request as ready for review July 2, 2026 20:51
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Fix GitHub Actions workflow: orka3 user set-token for auth, --config
  flag (not --vm-config), remove non-existent --endpoint/--token flags
- Correct Bazel version note: .bazelversion pin is for building buildfarm
  from source, not for the client (8.x and 9.x both work as clients)
- Replace Harbor OCI registry reference with accurate language: Orka
  supports any OCI-compatible registry (ghcr.io, ECR, etc.)
- Remove all em dashes from both pages

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Orka 3.5+ bridge networking gives VMs a routable IP on the host network,
so they can reach each other across nodes directly. The previous note
implied cross-node connectivity was always blocked (NAT-only assumption).
Updated to cover both bridge and NAT mode and point to support for
cluster network config confirmation.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
/orka/managing-vms/ directory does not exist. Correct paths:
- image-caching -> /orka/orka-resources/image-caching
- vm-configs -> /orka/orka3-cli-reference/vm-deployment-and-configuration

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant